export default function getPsnInfoByID(id) {
//获取输入身份证号码
    const ic = checkId(id);
    if (!ic) return;
    //获取出生日期
    const birth = ic.substring(6, 10) + "-" + ic.substring(10, 12) + "-" + ic.substring(12, 14);
    //获取性别
    const gender = ic.slice(14, 17) % 2 ? "1" : "2"; // 1代表男性，2代表女性
    return {
        birthday: {value: birth, display: null},
        sex: {value: gender, display: gender === '1' ? this.props.json['hi6007-000018'] : this.props.json['hi6007-000019']}/* 国际化处理： 男,女*/
    }
}

function checkId(pId) {
    /*//检查身份证号码  简单校验，不检查身份证合法性
    const arrVerifyCode = [1, 0, "x", 9, 8, 7, 6, 5, 4, 3, 2];
    const Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
    const Checker = [1, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1];
    if (pId.length !== 15 && pId.length !== 18) return this.state.json['hi6007-000020'];/* 国际化处理： 身份证号共有15位或18位*/
    /*let Ai = pId.length === 18 ? pId.substring(0, 17) : pId.slice(0, 6) + "19" + pId.slice(6, 16);
    if (!/^\d+$/.tpFrame(Ai)) return this.state.json['hi6007-000021'];/* 国际化处理： 身份证除最后一位外，必须为数字！
    let yyyy = Ai.slice(6, 10), mm = Ai.slice(10, 12) - 1, dd = Ai.slice(12, 14);
    let d = new Date(yyyy, mm, dd), now = new Date();
    let year = d.getFullYear(), mon = d.getMonth(), day = d.getDate();
    if (year != yyyy || mon != mm || day != dd || d > now || year < 1800) return this.state.json['hi6007-000022'];/* 国际化处理： 身份证输入错误！
    for (var i = 0, ret = 0; i < 17; i++) ret += Ai.charAt(i) * Wi[i];
    Ai += arrVerifyCode[ret %= 11];
    return pId.length === 18 && pId !== Ai ? this.state.json['hi6007-000022'] : Ai;*//* 国际化处理： 身份证输入错误！*/
    if (!pId || (pId.length !== 15 && pId.length !== 18)) return; //"身份证号共有15位或18位"
    let Ai = pId.length === 18 ? pId.substring(0, 17) : pId.slice(0, 6) + "19" + pId.slice(6, 16);
    if (!/^\d+$/.test(Ai)) return; // "身份证除最后一位外，必须为数字！"
    let yyyy = Ai.slice(6, 10), mm = Ai.slice(10, 12) - 1, dd = Ai.slice(12, 14);
    let d = new Date(yyyy, mm, dd);
    let year = d.getFullYear(), mon = d.getMonth(), day = d.getDate();
    if (year != yyyy || mon != mm || day != dd) return;// "出生日期不合法";
    return Ai;
}
